package com.winsdom.service;

import com.winsdom.dto.resource.ChageTablesDto;
import com.winsdom.dto.resource.PayFeesRecordDto;
import com.winsdom.dto.*;
import com.winsdom.entity.Category;
import com.winsdom.entity.Resource;
import com.baomidou.mybatisplus.extension.service.IService;
import com.winsdom.result.Result;
import com.winsdom.result.PageResult;
import com.winsdom.vo.ResourceVO;

import java.util.List;

/**
 * <p>
 * 资源信息表 服务类
 * </p>
 *
 * @author 
 * @since 2025-05-12
 */
public interface IResourceService extends IService<Resource> {

    Result getThreeTables(Long categoryId);

    Result stopThreeTables(Integer id);

    Result getResourceName(Integer id);

    Result changeTable(ChageTablesDto chageTablesDto);

    Result PayFeesRecord(PayFeesRecordDto payFeesRecordDto);


    PageResult getResourceList(Long id,ResourceFilterRequest request);

    void addResource(ResourceDTO resourceDTO);

    Result update(ResourceUpdDTO resourceUpdDTO);

    Result splitResource(Long id ,ResourceSplitDTO resourceSplitDTO);

    Result getCommonResource(Long id);

    Result mergeResource(MergeResourceDTO mergeResourceDTO);

    ResourceVO getResourceById(Long id);

    void deleteById(Long id);

    List<CategoryTreeNodes> getOrganizationTree();
}
